A computer system may include a virtual machine monitor (VMM) to host one or more guest operating systems.
The VMM may arbitrate access to resources of the computer system amongst the guest operating systems. The VMM may present a virtual interface or an abstraction of the resources to the guest operating systems. A guest operating system and corresponding virtualized resources and interfaces are referred to herein as a virtual machine (VM).
A VMM may provide an isolated and secure environment for a VM.
A VMM may be implemented in software or with a combination of hardware and software.
A physical resource may include one or more configurable functions. For example, a wireless network interface controller (NIC) may be configurable with respect to device initialization, network scanning, network access point selection, channel selection, connection establishment, handover management, security, and power control.
Techniques have been developed to virtualize wired NICs, including software-based VMMs and NIC hardware virtualization support based on a single root I/O virtualization (SR-IOV) specification (v1.0), promulgated by the Peripheral Component Interconnect Special Interest Group (PCI-SIG).
A software-based VMM approach may shield configurable device features from VMs.
An SR-IOV approach may improve NIC performance but will add hardware complexity and cost.
In the drawings, the leftmost digit(s) of a reference number identifies the drawing in which the reference number first appears.